<html>
<head><meta charset="utf-8"><title>two-watched-literal · t-cargo/PubGrub · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/index.html">t-cargo/PubGrub</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html">two-watched-literal</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="244884142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/two-watched-literal/near/244884142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html#244884142">(Jul 05 2021 at 00:17)</a>:</h4>
<p>There was a reddit comment from I think (but not sure) Sven Thiele, which is now following the project and is a member of Potassco (the group at the origin of the algorithm used by pubgrub) suggestion to look into the "two-watched-literal" scheme: <a href="https://github.com/pubgrub-rs/pubgrub/issues/101">https://github.com/pubgrub-rs/pubgrub/issues/101</a></p>



<a name="244884198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/two-watched-literal/near/244884198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html#244884198">(Jul 05 2021 at 00:19)</a>:</h4>
<p>From very briefly looking into the first link, it seems to handle more efficiently unit propagation, which is where we spend most of our time. So it may be worth exploring, in addition to new API</p>



<a name="244884977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/two-watched-literal/near/244884977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html#244884977">(Jul 05 2021 at 00:43)</a>:</h4>
<p>It is an especially important approach when dealing with incompatibilities that has more than two terms. Which is rare in our use case.</p>



<a name="244885030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/two-watched-literal/near/244885030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html#244885030">(Jul 05 2021 at 00:44)</a>:</h4>
<p>But I agree that The data structures behind unit propagation, are going to be some of the next performance improvements.</p>



<a name="244885480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/two-watched-literal/near/244885480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/two-watched-literal.html#244885480">(Jul 05 2021 at 00:58)</a>:</h4>
<p>Actual implementation may be more relevant than the theoretical descriptions I have read.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>